package whf.framework.datasource;

import java.util.Collection;
import java.util.Iterator;

/**
 * @author king
 * @modify 2007-12-12 下午11:15:12
 */
public interface DataSource<E extends DataRow> extends Iterator<E> {
	/**
	 * @return 数据源的总行数
	 */
	int getTotalRowCount() throws DataSourceException;
	
	/**
	 * 当前记录数
	 * @return
	 * @throws DataSourceException
	 */
	int size() throws DataSourceException;
	
	/**
	 * 对象的查询方法
	 * @param queryString
	 * @param start
	 * @param pageSize
	 * @return
	 */
	Collection<E> getDataSource() throws DataSourceException;
	
	/**
	 * @return 对象的Iterator
	 */
	Iterator<E> iterator();
	
	/**
	 * @return 获取当前数据对象
	 */
	E getCurrent();
	
}
